Static Call Graph for image .\02_SSI_SPI1\02_SSI_SPI1.axf



#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Sat Sep 05 11:50:35 2026

Maximum Stack Usage = 48 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

main ⇒ uart_put_i32 ⇒ uart_puts

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • MemManage_Handler   ⇒   MemManage_Handler
  • BusFault_Handler   ⇒   BusFault_Handler
  • UsageFault_Handler   ⇒   UsageFault_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • DebugMon_Handler   ⇒   DebugMon_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • WWDG_IRQHandler   ⇒   WWDG_IRQHandler
  • PVD_IRQHandler   ⇒   PVD_IRQHandler
  • TAMPER_IRQHandler   ⇒   TAMPER_IRQHandler
  • RTC_IRQHandler   ⇒   RTC_IRQHandler
  • FLASH_IRQHandler   ⇒   FLASH_IRQHandler
  • RCC_IRQHandler   ⇒   RCC_IRQHandler
  • EXTI0_IRQHandler   ⇒   EXTI0_IRQHandler
  • EXTI1_IRQHandler   ⇒   EXTI1_IRQHandler
  • EXTI2_IRQHandler   ⇒   EXTI2_IRQHandler
  • EXTI3_IRQHandler   ⇒   EXTI3_IRQHandler
  • EXTI4_IRQHandler   ⇒   EXTI4_IRQHandler
  • DMA1_Channel1_IRQHandler   ⇒   DMA1_Channel1_IRQHandler
  • DMA1_Channel2_IRQHandler   ⇒   DMA1_Channel2_IRQHandler
  • DMA1_Channel3_IRQHandler   ⇒   DMA1_Channel3_IRQHandler
  • DMA1_Channel4_IRQHandler   ⇒   DMA1_Channel4_IRQHandler
  • DMA1_Channel5_IRQHandler   ⇒   DMA1_Channel5_IRQHandler
  • DMA1_Channel6_IRQHandler   ⇒   DMA1_Channel6_IRQHandler
  • DMA1_Channel7_IRQHandler   ⇒   DMA1_Channel7_IRQHandler
  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
  • USB_HP_CAN1_TX_IRQHandler   ⇒   USB_HP_CAN1_TX_IRQHandler
  • USB_LP_CAN1_RX0_IRQHandler   ⇒   USB_LP_CAN1_RX0_IRQHandler
  • CAN1_RX1_IRQHandler   ⇒   CAN1_RX1_IRQHandler
  • CAN1_SCE_IRQHandler   ⇒   CAN1_SCE_IRQHandler
  • EXTI9_5_IRQHandler   ⇒   EXTI9_5_IRQHandler
  • TIM1_BRK_IRQHandler   ⇒   TIM1_BRK_IRQHandler
  • TIM1_UP_IRQHandler   ⇒   TIM1_UP_IRQHandler
  • TIM1_TRG_COM_IRQHandler   ⇒   TIM1_TRG_COM_IRQHandler
  • TIM1_CC_IRQHandler   ⇒   TIM1_CC_IRQHandler
  • TIM2_IRQHandler   ⇒   TIM2_IRQHandler
  • TIM3_IRQHandler   ⇒   TIM3_IRQHandler
  • TIM4_IRQHandler   ⇒   TIM4_IRQHandler
  • I2C1_EV_IRQHandler   ⇒   I2C1_EV_IRQHandler
  • I2C1_ER_IRQHandler   ⇒   I2C1_ER_IRQHandler
  • I2C2_EV_IRQHandler   ⇒   I2C2_EV_IRQHandler
  • I2C2_ER_IRQHandler   ⇒   I2C2_ER_IRQHandler
  • SPI1_IRQHandler   ⇒   SPI1_IRQHandler
  • SPI2_IRQHandler   ⇒   SPI2_IRQHandler
  • USART1_IRQHandler   ⇒   USART1_IRQHandler
  • USART2_IRQHandler   ⇒   USART2_IRQHandler
  • USART3_IRQHandler   ⇒   USART3_IRQHandler
  • EXTI15_10_IRQHandler   ⇒   EXTI15_10_IRQHandler
  • RTC_Alarm_IRQHandler   ⇒   RTC_Alarm_IRQHandler
  • USBWakeUp_IRQHandler   ⇒   USBWakeUp_IRQHandler

    Function Pointers

    Global Symbols

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
    [Address Reference Count : 1]

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

    [Calls]

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

    [Called By]

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

    Reset_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
    [Address Reference Count : 1]

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    WWDG_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PVD_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TAMPER_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    RTC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    FLASH_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    RCC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI0_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI4_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel4_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel5_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel6_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel7_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ADC1_2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USB_HP_CAN1_TX_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USB_LP_CAN1_RX0_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    CAN1_RX1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    CAN1_SCE_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI9_5_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM1_BRK_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM1_UP_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM1_TRG_COM_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM1_CC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    TIM4_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C1_EV_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C1_ER_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C2_EV_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C2_ER_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SPI1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SPI2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USART1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USART2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USART3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    EXTI15_10_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    RTC_Alarm_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    USBWakeUp_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))

    [Calls]


    [Called By]

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

    SysTick_Handler (Thumb, 10 bytes, Stack size 0 bytes, main_ssi.o(i.SysTick_Handler))
    [Address Reference Count : 1]

    __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

    __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

    main (Thumb, 190 bytes, Stack size 16 bytes, main_ssi.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    Local Symbols

    crc6_calc (Thumb, 38 bytes, Stack size 8 bytes, main_ssi.o(i.crc6_calc))

    [Stack]


    [Called By]

    delay_us (Thumb, 16 bytes, Stack size 8 bytes, main_ssi.o(i.delay_us))

    [Stack]


    [Called By]

    spi1_init (Thumb, 86 bytes, Stack size 0 bytes, main_ssi.o(i.spi1_init))

    [Called By]

    spi1_read4 (Thumb, 34 bytes, Stack size 8 bytes, main_ssi.o(i.spi1_read4))

    [Stack]


    [Called By]

    ssi_read_frame (Thumb, 88 bytes, Stack size 24 bytes, main_ssi.o(i.ssi_read_frame))

    [Stack]


    [Calls]
    [Called By]

    systick_init (Thumb, 20 bytes, Stack size 0 bytes, main_ssi.o(i.systick_init))

    [Called By]

    uart1_init (Thumb, 44 bytes, Stack size 0 bytes, main_ssi.o(i.uart1_init))

    [Called By]

    uart_put_hex32 (Thumb, 38 bytes, Stack size 16 bytes, main_ssi.o(i.uart_put_hex32))

    [Stack]


    [Calls]
    [Called By]

    uart_put_i32 (Thumb, 70 bytes, Stack size 24 bytes, main_ssi.o(i.uart_put_i32))

    [Stack]


    [Calls]
    [Called By]

    uart_putc (Thumb, 16 bytes, Stack size 0 bytes, main_ssi.o(i.uart_putc))

    [Called By]

    uart_puts (Thumb, 20 bytes, Stack size 8 bytes, main_ssi.o(i.uart_puts))

    [Stack]


    [Calls]
    [Called By]

    Undefined Global Symbols